﻿/////////////////////////////////////////////////////////////////////////////////
///              ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO                   ///
///                        PROYECTO INTEGRADOR IV                             /// 
///                         PROYECTO SICOPS 2011                              /// 
/// ------------------------------------------------------------------------- ///  
///              **********GRUPO DE DESARROLLADORES**********                 ///
///                    ************PEGASO*************                        /// 
///---------------------------------------------------------------------------///
///                                                         RIOBAMBA-ECUADOR  ///
///---------------------------------------------------------------------------///
///          CLASE DE ADMINISTRACION DE LA TABLA SERVICIOS                    ///
/////////////////////////////////////////////////////////////////////////////////

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
using System.Data.Common;
using System.Drawing;

//Clase en la cul exiten los metodo de ingreso, modificacion y eliminacion de datos de la tabla servicios
 
namespace LogisticaDeAcceso.ClasesDeAcceso
{
    public class clsServicios
    {
        private SqlCommand SqlProSeleccionar;
        private SqlConnection SqlProConexion;
        private SqlDataAdapter SqlProAdaptador;
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Configuracion para el ingreso de servicios
        public void metConfiguracionIngresarServ(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_IngresarServicios";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", System.Data.DataRowVersion.Current, null),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 10),
            new SqlParameter("@DetalleSer", SqlDbType.VarChar, 50),
            new SqlParameter("@Obse", SqlDbType.VarChar, 200),
            new SqlParameter("@Tipo", SqlDbType.VarChar, 20)});
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion de ingreso de servicios
        public void metActivarIngresarServ(string Cod,string Det,string Obs,string Tipo)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Cod;//////Codigo servicio
            SqlProAdaptador.SelectCommand.Parameters["@DetalleSer"].Value = Det;//Detalle del servico
            SqlProAdaptador.SelectCommand.Parameters["@Obse"].Value = Obs;////////Observaciones del servico
            SqlProAdaptador.SelectCommand.Parameters["@Tipo"].Value = Tipo;///////Tipo economico
            SqlProConexion.Open();////////////////////////////////////////////////Abrir la conexion
            try//Muestra el mensaje que esta en el procedimiento almacenado
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            }
            catch (Exception auxMensaje)//El procedimiento tiene un mensaje que imprime si la clave es cambiada con exito
            {
                MessageBox.Show(auxMensaje.Message);
            }
            SqlProConexion.Close();
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Configurar la  vista en el data set
        public void metConfiguracionMostrarSer(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT     vs_MostrarServicios.*\r\nFROM         vs_MostrarServicios";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        
        }
        //Activar la vista de los datos en el data set
        public void metActivarMostrarSer(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarServicios);
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Conteo de filas
        public int metNumeroFilasDE(ColeccionDeDatos Col)
        {
            //Contar las filas asignada para generar una clave
            DataTable Ta = Col.vs_MostrarServicios;
            DataRowCollection Val = Ta.Rows;
            return Val.Count;
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Configuracion de vista de servicios
        public void metConfigurarVistaServicios(string Conexion)
        {
            this.SqlProSeleccionar = new System.Data.SqlClient.SqlCommand();
            this.SqlProConexion = new System.Data.SqlClient.SqlConnection();
            this.SqlProAdaptador = new System.Data.SqlClient.SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "SELECT        vs_MostrarServiciosVista.*\r\nFROM            vs_MostrarServiciosVist" +
                "a";
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion de la vista
        public void metActivarVistaServicios(ColeccionDeDatos Col)
        {
            SqlProAdaptador.Fill(Col.vs_MostrarServiciosVista);
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Confifuracion y activacion del procedimiento de eliminacion
        public void metConfigurarEliminarServicio(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_EliminarServicio";
            this.SqlProSeleccionar.CommandType = CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 30)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucion para la eliminacion
        public void metActivarEliminarServicio(string Codigo)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Codigo;///////Tipo economico
            SqlProConexion.Open();////////////////////////////////////////////////Abrir la conexion
            try//Muestra el mensaje que esta en el procedimiento almacenado
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            }
            catch (Exception auxMensaje)//El procedimiento tiene un mensaje que imprime si la clave es cambiada con exito
            {
                MessageBox.Show(auxMensaje.Message);
            }
            SqlProConexion.Close();
        }
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //Actualizacion de servicios
        public void metConfigurarActualizarServicios(string Conexion)
        {
            this.SqlProSeleccionar = new SqlCommand();
            this.SqlProConexion = new SqlConnection();
            this.SqlProAdaptador = new SqlDataAdapter();
            // 
            // SqlProSeleccionar
            // 
            this.SqlProSeleccionar.CommandText = "dbo.sp_ActualizarServicios";
            this.SqlProSeleccionar.CommandType =CommandType.StoredProcedure;
            this.SqlProSeleccionar.Connection = this.SqlProConexion;
            this.SqlProSeleccionar.Parameters.AddRange(new SqlParameter[] {
            new SqlParameter("@RETURN_VALUE", SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((byte)(0)), ((byte)(0)), "", DataRowVersion.Current, null),
            new SqlParameter("@Codigo", SqlDbType.VarChar, 20),
            new SqlParameter("@Detalle", SqlDbType.VarChar, 100),
            new SqlParameter("@Obser", SqlDbType.VarChar, 100),
            new SqlParameter("@Tipo", SqlDbType.VarChar, 30)});
            // 
            // SqlProConexion
            // 
            this.SqlProConexion.ConnectionString = Conexion;
            // 
            // SqlProAdaptador
            // 
            this.SqlProAdaptador.SelectCommand = this.SqlProSeleccionar;
        }
        //Ejecucio de la actualizacion
        public void metActivarActualizarServicios(string Codigo, string Detalle, string Obser, string Tipo)
        {
            SqlProAdaptador.SelectCommand.Parameters["@Codigo"].Value = Codigo;//
            SqlProAdaptador.SelectCommand.Parameters["@Detalle"].Value = Detalle;//
            SqlProAdaptador.SelectCommand.Parameters["@Obser"].Value = Obser;//
            SqlProAdaptador.SelectCommand.Parameters["@Tipo"].Value = Tipo;///////Tipo economico
            SqlProConexion.Open();////////////////////////////////////////////////Abrir la conexion
            try//Muestra el mensaje que esta en el procedimiento almacenado
            {
                SqlProAdaptador.SelectCommand.ExecuteNonQuery();//Ejecutar el procedimiento 
            }
            catch (Exception auxMensaje)//El procedimiento tiene un mensaje que imprime si la clave es cambiada con exito
            {
                MessageBox.Show(auxMensaje.Message);
            }
            SqlProConexion.Close();
        }
    }
}
